跳至主要内容

Docker

docker-logo


什麼是DOCKER ?

一個應用在打包,分發,部署的平台
也可以理解為一個超輕量級虛擬機

打包,分發,部屬是什麼?

打包:把軟件所需要的依賴,第三方庫一起變成一個安裝包
分發:將安裝包上傳到鏡像倉庫,其他人可以非常方便的模擬和安裝
部屬:拿著安裝包就可以使用命令運行應用,而且會自動模擬和安裝包一模一樣的運行環境

DOCKER安裝

開啟wsl中模擬的ubuntu(以unix為基礎的系統不用此步驟)

輸入 sudo snap install docker 安裝docker

docker --version 查看是否安裝完成


初探Docker

輸入 sudo docker run --rm -it ubuntu /bin/bash

  • sudo 使用管理者身分
  • docker run 運行docker 容器,此時會發現docker自動抓取image
  • --rm docker run 中的flag,代表當結束運行的時候會刪除資料
  • -it 讓容器在前台運行
  • ubuntu /bin/bash 代表要運行的docker container

Why docker

  1. 環境問題
  2. 方便

製作自己的image

  • 使用nodeJS編寫間單http服務
var http = require('http')

http.createServer(function(req,res){
res.writeHead(200,{'Content-type':'text/plain'});
res.end('Hello world\n')
}).listen(8089)

console.log("Server running at http://127.0.0.1/8089")
  • 編寫Dockerfile
FROM node:alpine

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY . .
CMD [ "node", "main.js" ]

Docker Build & Run

docker build -t hellohttp .

docker run -p 3000:8089 -d hellohttp


後端